In an existing frequency domain codec algorithm, a quantity of bits that can be allocated is insufficient when a bit rate is low. In this case, bits are allocated only to relatively important spectral coefficients, and the allocated bits are used to encode the relatively important spectral coefficients during encoding. However, no bit is allocated for a spectral coefficient (that is, a less important spectral coefficient) except the relatively important spectral coefficients, and the less important spectral coefficient is not encoded. For the spectral coefficients for which bits are allocated, because a quantity of bits that can be allocated is insufficient, there are a part of spectral coefficients with insufficient allocated bits. During encoding, there are no sufficient bits to encode the spectral coefficients with insufficient allocated bits, for example, only a small number of spectral coefficients in a sub-band are encoded.
Corresponding to an encoder, only the relatively important spectral coefficients are decoded at a decoder, and a less important spectral coefficient that has not been obtained by means of decoding is filled with a value of 0. If no processing is performed on a spectral coefficient that has not been obtained by means of decoding, a decoding effect is severely affected. For example, for decoding of an audio signal, an audio signal that is finally output sounds “an empty feeling” or “a sound of water” or the like, which severely affects auditory quality. Therefore, the spectral coefficient that has not been obtained by means of decoding needs to be restored by using a noise filling method, so as to output a signal of better quality. In an example (that is, a noise filling example) of restoring the spectral coefficient that has not been obtained by means of decoding, a spectral coefficient obtained by means of decoding may be saved in an array, and a spectral coefficient in the array is replicated to a location of a spectral coefficient in a sub-band for which no bit is allocated. In other words, the spectral coefficient that has not been obtained by means of decoding is restored by replacing the spectral coefficient that has not been obtained by means of decoding with a saved spectral coefficient that has been obtained by means of decoding.
In the foregoing solution to restoring a spectral coefficient that has not been obtained by means of decoding, only a spectral coefficient that has not been obtained by means of decoding and is in a sub-band for which no bit is allocated is restored, and quality of a decoded signal is not good enough.